package es.realtimesystems.simplemulticast;
import java.lang.System;
import java.util.*;


/**
 * Clase PruebaTemporizador. Prueba la clase PTMF.Temporizador.
 */
public class PruebaTemporizador implements TimerHandler
{
long tiempo0,tiempo1,tiempo2,tiempo3,tiempo4,tiempo5,tiempo6;

public PruebaTemporizador ()
{
        Log.setNivelDepuracion (Log.TODO);

        tiempo0 = Temporizador.tiempoActualEnMseg();
        Temporizador.registrarFuncionPeriodica (this,10000,10);

        tiempo1 = Temporizador.tiempoActualEnMseg();
        Temporizador.registrarFuncionPeriodica (this,100,1,1);

        tiempo2 = Temporizador.tiempoActualEnMseg();
        Temporizador.registrarFuncionPeriodica (this,200,3,2);

        tiempo3 = Temporizador.tiempoActualEnMseg();
        Temporizador.registrarFuncionPeriodica (this,300,10,3);

   while (true)
    {
     Temporizador.sleep (1);
    }
  }

  public void TimerCallback(long arg1,Object o)
  {

   System.out.println ("********************************************************************");
   System.out.println ("TimerCallback : " + arg1 + " " + o);
   System.out.println ("Tiempo Actual="+System.currentTimeMillis());
   switch ((int)arg1) {
   case 0: System.out.println ("Tiempo registro="+tiempo0);
           System.out.println ("Diferencia ="+(System.currentTimeMillis()-tiempo0)); break;
   case 1: System.out.println ("Tiempo registro="+tiempo1);
           System.out.println ("Diferencia ="+(System.currentTimeMillis()-tiempo1)); break;
   case 2: System.out.println ("Tiempo registro="+tiempo2);
           System.out.println ("Diferencia ="+(System.currentTimeMillis()-tiempo2)); break;
   case 3: System.out.println ("Tiempo registro="+tiempo3);
           System.out.println ("Diferencia ="+(System.currentTimeMillis()-tiempo3)); break;
   case 4: System.out.println ("Tiempo registro="+tiempo4);
           System.out.println ("Diferencia ="+(System.currentTimeMillis()-tiempo4)); break;
   case 5: System.out.println ("Tiempo registro="+tiempo5);
           System.out.println ("Diferencia ="+(System.currentTimeMillis()-tiempo5)); break;
   case 6: System.out.println ("Tiempo registro="+tiempo6);
           System.out.println ("Diferencia ="+(System.currentTimeMillis()-tiempo6));
           System.exit(0); break;

   }
   System.out.println ("********************************************************************");

  }


  public static void main(String[] args) {
    PruebaTemporizador pruebaTemporizador = new PruebaTemporizador();


  }
}
